package com.wgts.wgts.dagger.module;

import com.wgts.wgts.dagger.scope.ActivityScope;
import com.wgts.wgts.mvp.model.IThridWriteInvitationCodeModel;
import com.wgts.wgts.mvp.model.imp.ThridWriteInvitationCodeModel;
import com.wgts.wgts.mvp.presenter.IThridWriteInvitationCodePresenter;
import com.wgts.wgts.mvp.presenter.imp.ThridWriteInvitationCodePresenter;
import com.wgts.wgts.mvp.view.IThridWriteInvitationCodeActivityView;
import com.wgts.wgts.netmodle.NetService;

import dagger.Module;
import dagger.Provides;

@Module
public class ThridWriteInvitationCodeModule {
    private IThridWriteInvitationCodeActivityView view;

    public ThridWriteInvitationCodeModule(IThridWriteInvitationCodeActivityView view) {
        this.view = view;
    }

    @Provides
    @ActivityScope
    public IThridWriteInvitationCodeActivityView provideView(){
        return view;
    }

    @Provides
    @ActivityScope
    public IThridWriteInvitationCodeModel provideModel(NetService netService){
        return new ThridWriteInvitationCodeModel(netService);
    }

    @Provides
    @ActivityScope
    public IThridWriteInvitationCodePresenter providePresenter(IThridWriteInvitationCodeActivityView view, IThridWriteInvitationCodeModel model){
        return new ThridWriteInvitationCodePresenter(view, model);
    }
}
